"use strict";

const defaultType = function(type, value) {
	const defaultVaue = (typeof value === "function") ? value() : value;
	return {
		type,
		default: defaultVaue
	};
};

module.exports = {
	defaultType: defaultType,
	defaultStr: defaultType(String, ""),
	defaultNum: defaultType(Number, 0),
	defaultBool: defaultType(Boolean, false),
	defaultObj: defaultType(Object, {}),
	defaultDate: defaultType(Date, () => Date.now),
	defaultArray: defaultType(Array, [])
}
